


'use strict';
/*
1、题目描述
找出元素 item 在给定数组 arr 中的位置
输出描述:
如果数组中存在 item，则返回元素在数组中的位置，否则返回 -1
示例1
输入
[ 1, 2, 3, 4 ], 3
输出
2
*/

function remove(arr,item) {
    var a=arr.indexOf(item)
    console.log(a);
    };
    remove([ 1, 2, 3, 4 ], 3)
    
    

/*
2、题目描述
计算给定数组 arr 中所有元素的总和
输入描述:
数组中的元素均为 Number 类型
示例1
输入

[ 1, 2, 3, 4 ]
输出

10
*/
function sum(arr) {
    let sum=0;
    for(let i=0;i<arr.length;i++){
        sum+=arr[i];
    }
    console.log(sum);
}
sum([ 1, 2, 3, 4 ]);

/*




// function Sum(arr){

// let sum=0;
// for(var i=0;i<arr.length;i++){

// sum+=arr[i];
// }
// console.log(sum);
//  }

// Sum([ 1, 2, 3, 4 ]);


// function sum(arr) {
//     let sum=0;
//     for(let i=0;i<arr.length;i++){
//         sum+=arr[i];
//     }
//     console.log(sum);
// }
// sum([ 1, 2, 3, 4 ]);
/*
3、题目描述
移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr，结果返回新的数组
示例1
输入

[1, 2, 3, 4, 2], 2
输出

[1, 3, 4]
*/
//第一种方法
// function remove(arr,item) {
//     var a=arr.slice(0);//slice截取部分元素
//     for(var i=0;i<arr.length;i++){
//       if(a[i]===item){
//         a.splice(i,1);
//         i--;
//       }
//     }
//     return a;
// };

// console.log(remove([1, 2, 3, 4, 2], 2));
//第二种方法
// function remove(arr,item) {
//     var a=[];
//     for(var i=0;i<arr.length;i++){
//       if(arr[i]!=item){
//       a.push(arr[i]);
//       }
//     }
// console.log(a);
// };

// remove([1, 2, 3, 4, 2], 2)

//第三种
// function remove(arr,item) {
//     return arr.filter(function(ele){
//      return ele!=item;
//     });
//    }
//    console.log(remove([1, 2, 3, 4, 2], 2));
/*

4、题目描述
移除数组 arr 中的所有值与 item 相等的元素，直接在给定的 arr 数组上进行操作，并将结果返回
示例1
输入

[1, 2, 2, 3, 4, 2, 2], 2
输出

[1, 3, 4]
*/


// function a4(arr,item){
// for(let i=0;i<arr.length;i++)
// {

//     arr.splice(arr.indexOf(item),1)//找到本身删除,删除1的删掉自己
// }console.log(arr);
// }
// a4([1, 2, 2, 3, 4, 2, 2], 2)


/*
5、题目描述
在数组 arr 末尾添加元素 item。不要直接修改数组 arr，结果返回新的数组
示例1
输入

[1, 2, 3, 4],  10
输出

[1, 2, 3, 4, 10]
*/
// function a5(arr,item){
// var a=arr
//  a.push(item)
// console.log(a);
//     }

//     function a5(arr,item){
//         var a=arr.slice(0);
//          a.push(item)
//         console.log(a);
//             }
// a5([1, 2, 3, 4],  10)


/*
6、题目描述
删除数组 arr 最后一个元素。不要直接修改数组 arr，结果返回新的数组
示例1
输入

[1, 2, 3, 4]
输出

[1, 2, 3]
*/

function a6(arr) {
    var a = arr.slice(0);
    a.pop()
    console.log(a);
}
a6([1, 2, 3, 4])


/*
7、题目描述
在数组 arr 开头添加元素 item。不要直接修改数组 arr，结果返回新的数组
示例1
输入

[1, 2, 3, 4], 10
输出

[10, 1, 2, 3, 4]
*/

function a7(arr, item) {
    var a = arr.slice(0);
    a.reverse();
    a.push(item)
    console.log(a);
}
a7([1, 2, 3, 4], 10)





/*
8、题目描述
删除数组 arr 第一个元素。不要直接修改数组 arr，结果返回新的数组
示例1
输入

[1, 2, 3, 4]
输出

[2, 3, 4]
*/

function a8(arr, item) {
    var a = arr.slice(0);
    a.reverse();//反转
    a.pop()//删除最后一个
    a.reverse();
    console.log(a);
}
a8([1, 2, 3, 4])


/*
9、题目描述
合并数组 arr1 和数组 arr2。不要直接修改数组 arr，结果返回新的数组
示例1
输入

[1, 2, 3, 4], ['a', 'b', 'c', 1]
输出

[1, 2, 3, 4, 'a', 'b', 'c', 1]
*/

function a9(arr, item) {
    var a = arr.concat(item)
    console.log(a);
}
a9([1, 2, 3, 4], ['a', 'b', 'c', 1])


/*
10、题目描述
在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr，结果返回新的数组
示例1
输入

[1, 2, 3, 4], 'z', 2
输出

[1, 2, 'z', 3, 4]
*/
function a10(arr, item, i) {
    var arrs = arr.slice();
    arrs.splice(i, 0, item)
    console.log(arrs);
}
a10([1, 2, 3, 4], 'z', 2)


/*
11、题目描述
统计数组 arr 中值等于 item 的元素出现的次数
示例1
输入

[1, 2, 4, 4, 3, 4, 3], 4
输出

3
*/
function a11(arr, item) {
    let d = 0;
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] === item) {
            d++;
        }
    }
    console.log(d);
}

a11([1, 2, 4, 4, 3, 4, 3], 4)


/*
12、题目描述
找出数组 arr 中重复出现过的元素
示例1
输入

[1, 2, 4, 4, 3, 3, 1, 5, 3]
输出

[1, 3, 4]
*/

function a12(arr) {
    let b=[];
    for(let i=0;i<arr.length;i++){
        for(let j=i;j<arr.length;j++){
            if(i!=j){
                if(arr[i]===arr[j]){
                    if(b.indexOf(arr[i])===-1){
                        b.push(arr[i]);
                    }
                    break;
                }
            }
        }
    }
    console.log(b);
}
a12([1, 2, 4, 4, 3, 3, 1, 5, 3])

function duplicates(arr){
    var arrs = [];
    for(var i = 0 ; i<arr.length ; i++){
        for(var j = i ; j <arr.length ; j++){
            if(i!=j){
                if(arr[i]===arr[j])
                {
                    arrs.push(arr[j])
                    arrs.splice(arr[j],1)
                }
            }
        }
        
    }
  
    console.log(arrs);
}
duplicates([1, 2, 4, 4, 3, 3,3,3,3, 1, 5, 3])